//实现将一个整数传为任意进制的字符串传为输出

// #include <stdio.h>
// #include <string.h>

// int my_snprintf(char *src, int num)
// {
//     int count = 1;
//     int a = 1;
//     char *temp = src;
//     // if(num < 0)
//     // {
//     //     *src = '-';
//     //     src++;
//     // }
//     while(num > 9)
//     {
//         num = num/10;
//         count = count*10;
//         a++;
//     }
//     while(a)
//     {
//         *temp = num / count;
//         temp++;
//         a--;
//     }
//     *temp = '\0';
//     return *src;

// }

// int main(int argc, char *argv[])
// {
//     int num;
//     char src[100];
//     printf("Please input a number:\n");
//     scanf("%d",&num);

//     //snprintf(src,100,"%d",num);
    
//     int result = my_snprintf(src,num);
//     printf("%s\n",src);
// }





#include <stdio.h>
#include <string.h>

void change(char *s,int num,int n)
{
    int i=0;
    char temp;

    while(num != 0)
    {
        s[i] = num%n;
        if(s[i] <= 9)
        {
            s[i] = s[i]+'0';
        }
        else
        {
            switch(s[i])
            {
                case 10:s[i] = 'A';
                break;
                case 11:s[i] = 'B';
                break;
                case 12:s[i] = 'C';
                break;
                case 13:s[i] = 'D';
                break;
                case 14:s[i] = 'E';
                break;
                case 15:s[i] = 'F';
                break;
                default:break;
            }           
        }
        i++;
        num = num/n;
    }

    s[i] = '\0';
    int len = strlen(s);

    for(i = 0;i < len/2;i++)
    {
        temp = s[i];
        s[i] = s[len-i-1];
        s[len-i-1] = temp;
    }
}

int main()
{
    int num;
    int n;
    char src[100];
    printf("please input num:\n");
    scanf("%d",&num);
    printf("please input n:\n");
    scanf("%d",&n);
    change(src,num,n);
    printf("the result is\n%s\n",src);

    return 0;
}
